package d1_byte_stream;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

public class CodeTest05 {
    public static void main(String[] args) {
        //目标: 完成文件的复制
        //进行异常处理
        try {
            //1、创建一个字节输入流: 文件读取到内存中来
            InputStream fIs = new FileInputStream(
                    "D:\\javadevelop\\2024班\\02阶段java基础进阶\\陈某总结\\章若楠.jpg");//注意定要写成多态

            //2、创建一个自己输出流: 用于将内存在的字节进行写到文件中
            //注意路径不要跟输入流的一样,否则就会覆盖
            OutputStream fOs = new FileOutputStream(
                    "D:\\javadevelop\\2024班\\02阶段java基础进阶\\陈某总结\\老婆.jpg");//注意定要写成多态
            //将内存在的字节记性输出
            //3、准备一个字节数组
            byte[] buffer = new byte[1024];

            //将文件读取到字节数组中
            //4、转移数据
            int len;
            while((len = fIs.read(buffer)) != -1){
                fOs.write(buffer, 0, buffer.length);//读到多少就倒多少
            }
            //记性关流
            //倒过来关
            //5、释放资源
            fOs.close();
            fIs.close();
            System.out.println("赋值完成");
        } catch (Exception e) {//捕获一切异常
            e.printStackTrace();//打印堆栈的信息
        }

    }
}
